import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 默认情况下，用户未登录，需要在登录后，修改对象数据
    user: JSON.parse(sessionStorage.getItem('user')),  
    cityname: '北京',
    token:sessionStorage.getItem('token') //保存token字符串
  },
  getters: {
  },
  mutations: {
    // 保存token
    saveToken(state,token){
      state.token = token
      sessionStorage.setItem("token",token)
    },
    // 声明一个方法，用于修改state.user数据
    // 执行该方法时，vuex将会自动传入参数：($store.state, 用户自定义参数)
    updateUser(state, payload){
      state.user = payload   
      // 为了数据持久化保存，还需要向storage中存一份user
      sessionStorage.setItem('user', JSON.stringify(payload))
    }
  },
  actions: {
  },
  modules: {
  }
})
